package com.xunk.system.service;

import com.xunk.common.core.web.domain.AjaxResult;
import com.xunk.system.vo.EquipmentVO;
import com.xunk.system.vo.FixSceneInfoVO;
import com.xunk.system.vo.FixSceneVo;

import java.util.List;

/**
 * @ProjectName: xunk
 * @Package: com.xunk.buz.service
 * @ClassName: ISysSceneService
 * @Author: dongxiaoxin
 * @Description: 场景实现
 * @Date: 2021/4/6 14:42
 * @Version: 1.0
 */
public interface ISysSceneService {

    /**
     *  保存场景到家里
     * @param fixSceneVo    场景详细参数
     */
    void saveOrUpdateHomeScene(FixSceneVo fixSceneVo);
    /**
     *  固定场景控制
     * @param fixSceneVo
     *
     */
    AjaxResult controlFixScene(FixSceneVo fixSceneVo);

    /**
     *  首页的立即执行
     * @param code      模式类别
     * @param homeId    家庭id
     */
    AjaxResult performSceneNow(String code,Long homeId);

    /**
     *  根据模式来获取可控制的设备列表
     * @param homeId    家庭id
     * @param mode      模式  backHome - 回家
     *                       leaveHome - 离家
     *                       morning - 早安
     *                       evening  - 晚安
     *                       cool - 夏日凉凉
     *                       warm - 冬日暖暖
     */
    List<EquipmentVO> getDeviceList(Long homeId, String mode);

    List<FixSceneInfoVO> getSceneList(Long homeId, String position);

    void updateScenePosition(String code, Long homeId, Integer flag);

    void insertSysSceneHome(Long homeId);

    void saveSceneDetail(FixSceneVo fixSceneVo);
}
